package br.com.localab.equipamentocurso.modelo;

import java.io.Serializable;

import javax.persistence.Embeddable;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;

import br.com.localab.curso.modelo.Curso;
import br.com.localab.equipamento.modelo.Equipamento;

@Embeddable
public class EquipamentoPorCuso_PK implements Serializable{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@ManyToOne(optional = false, fetch = FetchType.LAZY)
	@JoinColumn(name="codigo_equipamento")
	private Equipamento equipamento;
	
	@ManyToOne(optional = false, fetch = FetchType.LAZY)
	@JoinColumn(name="codigo_curso")
	private Curso curso;

	public Equipamento getEquipamento() {
		return equipamento;
	}

	public void setEquipamento(Equipamento equipamento) {
		this.equipamento = equipamento;
	}

	public Curso getCurso() {
		return curso;
	}

	public void setCurso(Curso curso) {
		this.curso = curso;
	}


	@Override
	public boolean equals(Object pk) {
		EquipamentoPorCuso_PK pkCast = (EquipamentoPorCuso_PK) pk;
		if(this.getCurso().getNome().toLowerCase().equals(pkCast.getCurso().getNome().toLowerCase()) &&
				this.getEquipamento().getNome().toLowerCase().equals(pkCast.getEquipamento().getNome().toCharArray())){
		return true;
		}
		return false;
	}

	
	
	
	
}
